package main.java.design.proxy.static_state;

/**
 * <p>
 *     实现抽象角色，是真实角色的代理，通过真实角色的业务逻辑方法来实现抽象方法，并可以附加自己的操作。
 * </p>
 *
 * @author : wangdejian
 * @version 1.0
 * @date : 2020/6/13 17:40
 */
public class AgentProxy implements MovieStar {

    private BaoQiangStar baoQiangStar;

    public  AgentProxy(BaoQiangStar baoQiangStar) {
        this.baoQiangStar = baoQiangStar;
    }


    public void contract() {
        System.out.println("宝强出演电影前，经纪人先签合同.");
    }

    @Override
    public void movie() {
        contract();
        baoQiangStar.movie();
    }

}
